#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""  
@Project : wupeiqi_async
@File : 01-greenlet.py
@Author : Royce
@Time : 2025/7/10 9:41  
@脚本说明 :
演示实现协程的四种方式
"""

from greenlet import greenlet


def func1():
    print(1)      # 第2步：输出 1
    gr2.switch()  # 第3步：切换到 func2 函数
    print(2)      # 第6步：输出 2
    gr2.switch()  # 第7步：切换到 func2 函数，从上一次执行的位置继续向后执行


def func2():
    print(3)  # 第4步：输出 3
    grl.switch()  # 第5步：切换到 funcl 函数，从上一次执行的位置继续向后执行
    print(4)  # 第8步：输出 4


if __name__ == '__main__':
    grl = greenlet(func1)
    gr2 = greenlet(func2)
    grl.switch()  # 第1步：去执行 funcl 函数
